// 引入express模块
const express = require('express')
// 引入连接池模块
const pool = require('../pool')
// 创建路由器对象
const router = express.Router()
// 添加路由
// 1.查询景点详情接口
// 接口地址：http://127.0.0.1:3000/spot/get/info
// 请求方法：get
router.get('/info/:qid', (req, res, next) => {
  // 获取params传递的参数
  var obj = req.params
  console.log(obj)
  // 执行SQL命令
  pool.query('select * from jingdian where qid=?', [obj.qid], (err, r) => {
    if (err) {
      // 如果出现mysql错误，把错误交个下一个中间件
      // 阻止往后执行
      return next(err)
    }
    console.log(r)
    res.send({ code: 200, msg: '查询成功', data: r })
  })
})

// 2.查询景点列表接口
// 接口地址：http://127.0.0.1:3000/spot/get/list
// 请求方法：get
router.get('/list', (req, res, next) => {
  /// 获取get传递的参数
	var obj=req.query
	console.log(obj)
	// 判断各项是否为空
	if(!obj.page){
		obj.page=1
	}
	if(!obj.pagesize){
		obj.pagesize=5
	}
  // 计算开始查询的值
	var start=(obj.page-1)*obj.pagesize
	// 将每页数据量转为数字
	var size=parseInt(obj.pagesize)
	// 分页查询 ; 查询总数据量 
	

  // 计算开始查询的值
  var start = (obj.page - 1) * obj.pagesize
  // 将每页数据量转为数字
  var size = parseInt(obj.pagesize)
  // 分页查询 ; 查询总数据量
  pool.query(
    'select * from jingdian limit ?,?;select count(qid) as sum from jingdian',
    [start, size],
    (err, r) => {
      if (err) {
        return next(err)
      }
      // 结果是二维数组
      console.log(r)
      // 获取总的数据量
      var t = r[1][0].sum
      // 计算总页数=总数据量/每页显示数据，向上取整
      var p = Math.ceil(t / obj.pagesize)
      // 响应
      res.send({
        code: 200,
        msg: '景点列表',
        data: r[0],
        pages: p,
        page: obj.page,
        pagesize: obj.pagesize,
        total: t,
        cat_id: obj.cat_id,
      })
    }
  )
})

router.get('/consult', (req, res, next) => {
  /// 获取get传递的参数
	var obj=req.query
	console.log(obj)
	// 判断各项是否为空
	if(!obj.page){
		obj.page=1
	}
	if(!obj.pagesize){
		obj.pagesize=5
	}
  // 计算开始查询的值
	var start=(obj.page-1)*obj.pagesize
	// 将每页数据量转为数字
	var size=parseInt(obj.pagesize)
	// 分页查询 ; 查询总数据量 
	

  // 计算开始查询的值
  var start = (obj.page - 1) * obj.pagesize
  // 将每页数据量转为数字
  var size = parseInt(obj.pagesize)
  // 分页查询 ; 查询总数据量
  pool.query(
    'select * from qnls_consult limit ?,?;select count(id) as sum from qnls_consult',
    [start, size],
    (err, r) => {
      if (err) {
        return next(err)
      }
      // 结果是二维数组
      console.log(r)
      // 获取总的数据量
      var t = r[1][0].sum
      // 计算总页数=总数据量/每页显示数据，向上取整
      var p = Math.ceil(t / obj.pagesize)
      // 响应
      res.send({
        code: 200,
        msg: '资讯列表',
        data: r[0],
        pages: p,
        page: obj.page,
        pagesize: obj.pagesize,
        total: t,
        cat_id: obj.cat_id,
      })
    }
  )
})




// 模糊查询
router.post('/name', (req, res, next) => {
  let obj = req.body
  let sql = 'select * from jingdian where title like ?'
  pool.query(sql, [`%${obj.title}%`], (err, r) => {
    if (err) {
      res.send({ code: 400, msg: '查询失败' })
      throw err
    }
    // 将结果封装，返回给客户端
    console.log(r)
    res.send({ code: 200, msg: '查询成功', data: r })
  })
})

// 分页模糊查询
// http://127.0.0.1:3000/spot/get/mohu
router.post('/mohu',(req,res,next)=>{
	var obj = req.body
	console.log(obj)
	if(!obj.page){
		obj.page=1
	}
	if(!obj.pagesize){
		obj.pagesize=5
	}
	// 计算开始查询的值
	var start=(obj.page-1)*obj.pagesize
	// 将每页数据量转为数字
	var size=parseInt(obj.pagesize)
	// 分页查询 ; 查询总数据量 

    var c = `%${obj.title}%`
    console.log(c,'123')
    pool.query('select * from jingdian where title like ? limit ?,?;select count(qid) sum from jingdian where title like ?',[c,start,size,c],(err,r)=>{
      if(err){
        return next(err)
      }
      console.log(r)
      var t=r[1][0].sum
      if(r.length === 0){
        res.send({code:400,msg:'查询失败'})
      } else {
        res.send({
          code:200,
          msg:'查询成功',
          data:r[0],
          total:t,
          page: obj.page,
			    pagesize: obj.pagesize,
        })
      }
    })
})

// 暴露路由器对象
module.exports = router
